// 文件操作 ：
// 1.文件的写入
const fs = require("fs");
// 同步写入
// let str='庐州月光，洒在心上'
// try{
//     fs.writeFileSync("./1.txt",str)
//     console.log('写入成功')
// }catch(err){
//     console.log(err)
// }
// 异步写入
// fs.writeFile('./1.txt',str,err=>{
//     if(err){
//         console.log(err)
//     }else{
//         console.log('写入成功')
//     }
// })

// 2.文件的读取
// 异步读取
// fs.readFile('./1.txt',(err,data)=>{
//     if(err){
//         return console.log(err)
//     }
// console.log(data)//读取的是buffer数据
// console.log(data.toString()) // 将buffer数据转成字符串
// })
// 同步读取
// try{
// let data=fs.readFileSync('./1.txt')
// console.log(data)//buffer数据
// console.log(data.toString())//转换成字符串
// }catch(err){
//     console.log(err)
// }

// 3.修改文件
// 修改文件名
// 异步
// fs.rename('./2.txt','./a.txt',err=>{
//     if(err){
//         return console.log(err)
//     }
//     console.log('修改文件名成功')
// })
// 同步
// try{
// fs.renameSync('./a.txt','./2.txt')
// console.log('修改成功')
// }catch(err){
// console.log('错误')
// }

// 修改文件内容：先读取 修改再写入
// 读取文件内容
// let str=fs.readFileSync('./1.txt').toString()
// // 修改内容
// let reg=/[a-zA-Z]+/g
// let res=str.replace(reg,123)
// console.log(res)
// // 将修改的res写到文件里
// fs.writeFileSync('./1.txt',res)

// 4删除文件
// 异步删除文件
// fs.unlink('./3.txt',err=>{
//     if(err){
//         return console.log(err)
//     }
//     console.log("删除成功")
// })
// 同步
// try{
//     fs.unlinkSync('./2.txt')
//     console.log("删除成功")
// }catch(err){
//     console.log(err)
// }

// 5.复制文件
// 异步
// fs.copyFile('./1.txt','./2.txt',err=>{
//     if(err){
//         return console.log(err)
//     }
//     console.log('复制成功')
// })
// 同步
// try{
//     fs.copyFileSync('./2.txt','./3.txt')
//     console.log('复制成功')
// }catch(err){console.log(err)}

// 封装一个复制文件的参数
// function mycopy(file1, file2) {
//   try {
//     // 读取
//     let str = fs.readFileSync(file1);
//     // 写入
//     fs.writeFileSync(file2, str);
//     console.log('复制成功')
//   } catch (err) {
//     console.log(err);
//   }
// }
// mycopy("./1.txt", "./4.txt");

// 6.判断文件是否存在，如果一个数据已经存储了，就不需要在存储了；
// 判断文件是否存在只有同步方法
// var data={
//     singer:"vae",
//     age:35
// }
// var bool=fs.existsSync('./data.json')
// if(!bool){
// fs.writeFileSync('./data.json',JSON.stringify(data))
// }else{
//     console.log('已经写过了')
// }

// 7.判断某个目录是否是文件
// 获取文件的详细信息
let stat= fs.statSync('./1.txt')
console.log(stat)
if(stat.isFile()){
    console.log('是文件')
}else{
    console.log('是目录')
}
